home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / CIncludes / SegLoad.h < prev    next >
C/C++ Source or Header  |  1996-05-01  |  2KB  |  112 lines

  1. /*
  2.      File:        SegLoad.h
  3.  
  4.      Contains:    Segment Loader Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __SEGLOAD__
  19. #define __SEGLOAD__
  20.  
  21. #ifndef __TYPES__
  22. #include <Types.h>
  23. #endif
  24.  
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif
  28.  
  29. #if PRAGMA_IMPORT_SUPPORTED
  30. #pragma import on
  31. #endif
  32.  
  33. #if PRAGMA_ALIGN_SUPPORTED
  34. #pragma options align=mac68k
  35. #endif
  36.  
  37. #if FOR_SYSTEM7_ONLY
  38. #if !GENERATINGCFM
  39.  
  40. /*
  41.  CountAppFiles, GetAppFiles, ClrAppFiles, GetAppParms, getappparms, 
  42.  and the AppFile data structure and enums are obsolete. 
  43.  They are still supported for writing old style 68K apps, 
  44.  but they are not supported for CFM-based apps.
  45.  Use AppleEvents to determine which files are to be 
  46.  opened or printed from the Finder.
  47. */
  48.  
  49. enum {
  50.     appOpen                        = 0,                            /*Open the Document (s)*/
  51.     appPrint                    = 1                                /*Print the Document (s)*/
  52. };
  53.  
  54. struct AppFile {
  55.     short                             vRefNum;
  56.     OSType                             fType;
  57.     short                             versNum;                    /*versNum in high byte*/
  58.     Str255                             fName;
  59. };
  60. typedef struct AppFile AppFile;
  61.  
  62. extern pascal void CountAppFiles(short *message, short *count);
  63.  
  64. extern pascal void GetAppFiles(short index, AppFile *theFile);
  65.  
  66. extern pascal void ClrAppFiles(short index);
  67.  
  68. extern pascal void GetAppParms(Str255 apName, short *apRefNum, Handle *apParam)
  69.  ONEWORDINLINE(0xA9F5);
  70.  
  71. #if CGLUESUPPORTED
  72. extern void getappparms(char *apName, short *apRefNum, Handle *apParam);
  73.  
  74. #endif
  75.  
  76. #endif
  77.  
  78. /*
  79.  Because PowerPC applications don't have segments,
  80.  UnloadSeg is unsupported for PowerPC.
  81. */
  82. #if GENERATING68K
  83. extern pascal void UnloadSeg(void *routineAddr)
  84.  ONEWORDINLINE(0xA9F1);
  85.  
  86. #else
  87. #define UnloadSeg(x)
  88. #endif
  89. #endif
  90.  
  91. #if OLDROUTINELOCATIONS
  92.  
  93. extern pascal void ExitToShell(void )
  94.  ONEWORDINLINE(0xA9F4);
  95.  
  96. #endif
  97.  
  98. #if PRAGMA_ALIGN_SUPPORTED
  99. #pragma options align=reset
  100. #endif
  101.  
  102. #if PRAGMA_IMPORT_SUPPORTED
  103. #pragma import off
  104. #endif
  105.  
  106. #ifdef __cplusplus
  107. }
  108. #endif
  109.  
  110. #endif /* __SEGLOAD__ */
  111.  
  112.